31 research outputs found
Plagiarism detection in source programs using structural similarities
The paper presents a plagiarism detection framework the goal of which is to determine whether two programs are similar to each other, and if so, to what extent. The issue of plagiarism detection has been considered earlier for written material, such as student essays. For these, text-based algorithms have been published. We argue that in case of program code comparison, structure based techniques may be much more suitable. The main idea is to transform the source code into mathematical objects, use appropriate reduction and comparison methods on these, and interpret the results appropriately. We have designed a generic program structure comparison framework and implemented it for the Prolog and SML programming languages. We have been using the implementation at BUTE to successfully detect plagiarism in homework assignments for years
The Aurora Abstract Machine and its Emulator
Aurora is a prototype Or-Parallel implementation of the full Prolog language fot shared-memory multiprocessors, developed as part of an informal research collaboration known as the "Gigalips Project". This report describes the abstract machine of the implementation, expressed in terms of a Prolog engine adapted for Or-Parallel execution by means of the SRI model. An algorithms interface defining the communication between the engine and sheduler components of each Aurora process is described, and enables different engine and scheduler components to be used interchangeably. Both the interface and the engine are Fundamentally revised versions of those used in previous generations of the implementation
Loop elimination, a sound optimisation technique for PTTP related theorem proving
In this paper we present loop elimination, an important optimisation technique for first-order theorem proving based on Prolog technology, such as the Prolog Technology Theorem Prover or the DLog Description Logic Reasoner. Although several loop checking techniques exist for logic programs, to the best of our knowledge, we are the first to examine the interaction of loop checking with ancestor resolution. Our main contribution is a rigorous proof of the soundness of loop elimination
Combining Description Logics and object oriented models in an information integration framework
We present an information integration system called SINTAGMA which supports the semantic integration of heterogeneous information sources using a meta data driven approach. The main idea of SINTAGMA is to build a so called Model Warehouse, containing several layers of integrated models connected by mappings. At the bottom of this hierarchy there are the models representing the actual information sources. Higher level models represent virtual databases which can be queried, as the mappings provide a precise description of how to populate these virtual sources using the concrete ones.
The implementation of SINTAGMA uses constraints and logic programming, for example, the complex queries are translated into Prolog goals.
This paper focuses on a recent development in SINTAGMA allowing the information expert to use Description Logic (DL) based ontologies in the development of high abstraction level conceptual models. Querying these models is performed using the Closed World Assumption as we argue that traditional Open World DL reasoning is less appropriate in the context of database oriented information integration environments
PROLOG fejlesztések és alkalmazások Magyarországon
A Prolog-MProlog nyelv bemutatása és az MProlog hazai megvalósulásai után részletesen ismerteti a korábban elkészült és a még fejlesztés alatt lévő hazai MProlog-alapú projekteket. Az anyag a tapasztalatok és a következtetések levonása után a hazai szerzők Prolog témájú dolgozatainak teljes körű (több mint 75) bibliográfiájával zárul